জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion)

Web Development - জাভাস্ক্রিপ্ট (JavaScript) - জাভাস্ক্রিপ্ট ব্যাসিক (JS Basic Tutorial)
663

Number() মেথড নম্বরে, String() মেথড স্ট্রিং-এ, Boolean() মেথড বুলিয়ানে রুপান্তর করে।


জাভাস্ক্রিপ্ট ডাটা টাইপ

জাভাস্ক্রিপ্টে ৫ ধরনের ডাটা টাইপ রয়েছে যাদের মধ্যে ভ্যালু থাকেঃ

  • string
  • number
  • boolean
  • object
  • function

অবজেক্ট ৩ ধরনের হয়ঃ

  • Object
  • Date
  • Array

এবং 2 ধরনের ডাটা টাইপ রয়েছে যাদের ভ্যালু নেইঃ

  • Null
  • Undefined

typeof অপারেটর

জাভাস্ক্রিপ্ট ভ্যারিয়েবলের ডাটা টাইপ পাওয়ার জন্য typeof অপারেটর ব্যবহার করা হয়।

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3> typeof   অপারেটর  দ্বারা  ভ্যারিয়েবল, অবজেক্ট, ফাংশন, অথবা এক্সপ্রেশন এর  টাইপকে  বুঝায় ।</h3>

<p id="test"></p>

<script>
document.getElementById("test").innerHTML =
    typeof "Tahmid" + "<br>" +
    typeof 3.14 + "<br>" +
    typeof NaN + "<br>" +
    typeof false + "<br>" +
    typeof new Date() + "<br>" +
    typeof function () {} + "<br>" +
    typeof newDay + "<br>" +
    typeof [1,2,3,4] + "<br>" +
    typeof {name:'আজিজুর', age:34} + "<br>" +
    typeof null;
</script>

</body>
</html><

লক্ষ্য করুনঃ

  • NaN এর ডাটা টাইপ হলো number
  • array এর ডাটা টাইপ হলো object
  • date এর ডাটা টাইপ হলো object
  • null এর ডাটা টাইপ হলো object
  • একটি আনডিফাইন্ড ভ্যারিয়েবলের ডাটা টাইপ হলো  undefined*
  • ভ্যালু এসাইন করা হয়নি এমন ভ্যারিয়েবলের ডাটা টাইপ হলো  undefined*

একটি জাভাস্ক্রিপ্ট অবজেক্ট অ্যারে অথবা তারিখ কিনা যাচাই করার জন্য আপনি typeof অপারেটর ব্যবহার করতে পারবেন না।


typeof এর ডাটা টাইপ

typeof অপারেটর ভ্যারিয়েবল নয়। ইহা একটি অপারেটর। অপারেটরের ( + - * /) কোনো ডাটা টাইপ থাকে না।

কিন্তু, typeof অপারেটর অপারেন্ডের টাইপ ধারন করে সবসময় একটি স্ট্রিং রিটার্ন করে।


constructor প্রোপার্টি

constructor প্রোপার্টি সকল জাভাস্ক্রিপ্ট ভ্যারিয়েবলের কন্সট্রাক্টর ফাংশন রিটার্ন করে।

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3>ভেরিয়েভল অথবা  অবজেক্টের জন্য  কন্সট্রাক্টর প্রোপার্টি   কন্সট্রাক্টর  ফাংশনকে রির্টান করে ।  </h3>

<p id="test"></p>

<script>
document.getElementById("test").innerHTML =
    "আজিজুর".constructor + "<br>" +
    (3.14).constructor + "<br>" +
    false.constructor + "<br>" +
    [1,2,3,4].constructor + "<br>" +
    {name:'আজিজুর', age:24}.constructor + "<br>" +
    new Date().constructor + "<br>" +
    function () {}.constructor;
</script>

</body>
</html>

একটি অবজেক্ট অ্যারে(তার মধ্যে "Array" শব্দটি আছে কিনা) কিনা যাচাই করার জন্য আপনি constructor প্রোপার্টি ব্যবহার করতে পারেনঃ

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3>এই "হোম মেথড" ফাংশনটি যখন অ্যারেতে  ব্যবহৃত হয়,তখন  true রিটার্ন করে। </h3>

<p id="test"></p>

<script>
var firstName = ["Tamim", "Tahmid", "Motiur", "Sarif"];
document.getElementById("test").innerHTML = isArray(firstName);

function isArray(x) {
    return x.constructor.toString().indexOf("Array") > -1;
}
</script>

</body>

</html>

একটি অবজেক্ট Date(তার মধ্যে "Date" শব্দটি আছে কিনা) কিনা যাচাই করার জন্য আপনি constructor প্রোপার্টি ব্যবহার করতে পারেনঃ

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3>যখন  তারিখ  ব্যবহার করা হয় ,তখন  "home made"   ফাংশনটি  true  রির্টান করে ।</h3>

<p id="test"></p>

<script>
var currentDate = new Date();
document.getElementById("test").innerHTML = isDate(currentDate);

function isDate(currentDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}
</script>

</body>
</html>

জাভাস্ক্রিপ্ট টাইপ কনভার্সন

জাভাস্ক্রিপ্ট ভ্যারিয়েবলকে একটি নতুন ভ্যারিয়েবল এবং অন্য ডাটা টাইপে রূপান্তরিত যায়ঃ

  • একটি জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করে
  • স্বয়ংক্রিয়ভাবে জাভাস্ক্রিপ্টের মাধ্যমে

নম্বরকে স্ট্রিং-এ রূপান্তর

String() গ্লোবাল মেথডটি নম্বরকে স্ট্রিং-এ রূপান্তরিত করে।

এতে যেকোন ধরনের নম্বর, লিটারাল, ভ্যারিয়েবল বা এক্সপ্রেশন ব্যবহার করা যাবেঃ

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3> String() মেথডটি একটি  নম্বরকে স্ট্রিং-এ রূপান্তরিত করতে পারে  ।</h3>

<p id="test"></p>

<script>
var x = 192;
document.getElementById("test").innerHTML =
  String(x) + "<br>" +      // একটি নম্বর ভ্যারিয়েবল x কে স্ট্রিং আকারে রিটার্ন করে
  String(192) + "<br>" +      // একটি লিটারাল নম্বর 192 কে স্ট্রিং-এ রিটার্ন করে
  String(93 + 99);         // একটি এক্সপ্রেশনের নম্বরকে স্ট্রিং রিটার্ন করে
</script>
</body>
</html>

Number মেথডের toString() একই কাজ করে।

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3> toString() মেথড একটি সংখ্যাকে স্ট্রিং-এ রুপান্তর করে। </h3>

<p id="test"></p>

<script>
var x = 99;
document.getElementById("test").innerHTML =
    x.toString() + "<br>" +
   (99).toString() + "<br>" +
   (90 + 9).toString();
</script>

</body>
</html>

আমাদের Number মেথড পরিচ্ছেদে আরো অনেক মেথড পাবেন।


বুলিয়ানকে স্ট্রিং-এ রূপান্তর

String() গ্লোবাল মেথডটি বুলিয়ানকে স্ট্রিং-এ রুপান্তরিত করে।

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

String(false)        // "false" রিটার্ন করে
String(true)         // "true" রিটার্ন করে

toString() বুলিয়ান মেথডও একই কাজ করে।

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

false.toString()     // "false" রিটার্ন করে
true.toString()      // "true" রিটার্ন করে

তারিখকে স্ট্রিং-এ রূপান্তর

String() গ্লোবাল মেথডটি তারিখকে স্ট্রিং-এ রুপান্তর করে।

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

String(Date())      // Wed Mar 22 2017 16:26:40 GMT+0600 (Bangladesh Standard Time) রিটার্ন করে

toString() Date মেথডও একই কাজ করে।

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

Date().toString()   // Wed Mar 22 2017 16:26:40 GMT+0600 (Bangladesh Standard Time) রিটার্ন করে

আমাদের Date মেথড পরিচ্ছেদে আরো অনেক মেথড পাবেন।


স্ট্রিংকে নম্বরে রূপান্তর

Number() গ্লোবাল মেথডটি নম্বরকে স্ট্রিং-এ রুপান্তর করে।

স্ট্রিং নম্বর("3.14") নম্বরে(3.14) রুপান্তর হয়।

এম্পটি স্ট্রিং 0 তে রুপান্তরিত হয়।

অন্য সবকিছু NaN হবে।

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

Number("")        // 0 রিটার্ন করে
Number("99 88")   // NaN রিটার্ন করে
Number("2.54")    // 3.14 রিটার্ন করে
Number(" ")       // 0 রিটার্ন করে

আমাদের Number মেথড পরিচ্ছেদে আপনি আরো মেথড পাবেন।


ইউনারী + অপারেটর

ইউনারী + অপারেটর একটি ভ্যারিয়েবলকে নম্বরে রুপান্তর করতে ব্যবহার করা যাবেঃ

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3> typeof  অপারেটর দ্বারা ভ্যারিয়েবল  অথবা  এক্সপ্রেশনকে রির্টান করে । </h3>

<button onclick="myFunc()">  চেষ্টা করি </button>

<p id="test"></p>

<script>
function myFunc() {
    var b = "9";
    var a = + b;
    document.getElementById("test").innerHTML =
    typeof b + "<br>" + typeof a;
}
</script>

</body>
</html>

যদি ভ্যারিয়েবলকে রুপান্তর করা না যায় তারপরও এর টাইপ number এ রুপান্তরিত হয়, যার ভ্যালু NaN হবেঃ

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3>typeof অপারেটর দ্বারা ভ্যারিয়েবল  অথবা  এক্সপ্রেশনকে রির্টান করে । </h3>

<button onclick="myFunc()">   চেষ্টা করি </button>

<p id="test"></p>

<script>
function myFunc() {
    var b = "Tamim";
    var a = + b;
    document.getElementById("test").innerHTML =
    typeof a + "<br>" + a;
}
</script>

</body>
</html>

বুলিয়ানকে নম্বরে রূপান্তর

Number() গ্লোবাল মেথডটি বুলিয়ানকে নম্বরে রুপান্তর করে।

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

Number(false)     // 0 রিটার্ন করে
Number(true)      // 1 রিটার্ন করে

তারিখকে নম্বরে রূপান্তর

Number() গ্লোবাল মেথডটি তারিখকে নম্বরে রুপান্তর করেঃ

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

a = new Date();
Number(a)          // রিটার্ন করে 1490189529374

getTime() date মেথডও একই কাজ করে।

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

a = new Date();
a.getTime()        // 1490189529374 রিটার্ন করে

স্বয়ংক্রিয় টাইপ কনভার্সন

যখন জাভাস্ক্রিপ্ট একটি "ভুল" ডাটা টাইপ নিয়ে কাজ করে, তখন এটি "সঠিক" টাইপের ভ্যালুতে রূপান্তর করতে চেষ্টা করে।

ফলাফল এমন হতে পারেঃ

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<p id="test"></p>

<script>
var x = [];
document.getElementById("test").innerHTML =
("3" + 1) + "<br>" +     // 31 রিটার্ন করে,কারন 1 পরিবর্তিত হয়ে "1" হয়েছে
("3" - 1) + "<br>" +     // 2 রিটার্ন করে,কারন "3" পরিবর্তিত হয়ে 3 হয়েছে
("3" * "1") + "<br>" +   // 3 রিটার্ন করে,কারন "3" এবং "1" পরিবর্তিত হয়ে 3 এবং 1 হয়েছে
(3 + null) + "<br>"  +   // 3 রিটার্ন করে,কারন null পরিবর্তিত হয়ে 0 হয়েছে
("3" + null) + "<br>" +  // "3null" রিটার্ন করে,কারন null পরিবর্তিত হয়ে "null" হয়েছে
("3" / "1") + "<br>"
</script>

</body>
</html>

স্বয়ংক্রিয় স্ট্রিং কনভার্সন

আপনি একটি অবজেক্ট অথবা ভ্যারিয়েবলের আউটপুট নিতে চাইলে জাভাস্ক্রিপ্ট স্বয়ংক্রিয়ভাবে ভ্যারিয়েবলের toString() ফাংশনকে কল করেঃ

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

document.getElementById("test").innerHTML = myVar;

// if myVar = {name:"Azizur"}  // toString "[object Object]" এ রুপান্তর করে
// if myVar = [1,2,3,4]       // toString "1,2,3,4" এ রুপান্তর করে
// if myVar = new Date()      // toString "Wed Mar 22 2017 19:46:30 GMT+0600" এ রুপান্তর করে

নম্বর এবং বুলিয়ানের ক্ষেত্রেও একই রকম ঘটেঃ

জাভাস্ক্রিপ্ট টাইপ পরিবর্তন (JS Type Conversion) - Example

// if myVar = 123             // toString "123" এ রুপান্তর করে
// if myVar = true           // toString "true" এ রুপান্তর করে
// if myVar = false           // toString "false" এ রুপান্তর করে

জাভাস্ক্রিপ্ট টাইপ কনভার্সন টেবিল

নিম্নোক্ত টেবিলে জাভাস্ক্রিপ্টের বিভিন্ন ভ্যালুকে নম্বর, স্ট্রিং, এবং বুলিয়ানে রুপান্তর করে দেখানো হয়েছেঃ

প্রকৃত
মান
নম্বরে
রুপান্তর
স্ট্রিং-এ
রুপান্তর
বুলিয়ানে
রুপান্তর
false0"false"false
true1"true"true
00"0"false
11"1"true
"0"0"0"true
"1"1"1"true
NaNNaN"NaN"false
InfinityInfinity"Infinity"true
-Infinity-Infinity"-Infinity"true
""0""false
"20"20"20"true
"twenty"NaN"twenty"true
[ ]0""true
[20]20"20"true
[10,20]NaN"10,20"true
["twenty"]NaN"twenty"true
["ten","twenty"]NaN"ten,twenty"true
function(){}NaN"function(){}"true
{ }NaN"[object Object]"true
null0"null"false
undefinedNaN"undefined"false

কোটেশনের ভ্যালুগুলো স্ট্রিং ভ্যালু নির্দেশ করে।

লাল রংয়ের ভ্যালু দ্বারা বুঝানো হয়েছে প্রোগ্রামাররা এই ভ্যালু প্রত্যাশা করে না।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।